iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
Modern Web

Medusa.js 石化我的心系列 第 26

Day26 進階導讀 - 通路設定 與 運輸設定

  • 分享至 

  • xImage
  •  

銷售通路(Sales Channel)

在一開始試試玩玩看 MedusaJS 的時候,我也只有說 Shipping Cannel(銷售通路)只是一個設定,設定這樣商品是在哪裡買賣,有可能是特殊的直播帶貨、其他電商等等。

但是,不單單只是歸類,他也有一項非常特殊的功能,就是Publishable API Keys
的設定。

Publishable API Keys主要功能就是限制前端可以發送的API,簡單意思就是說可以使用到的服務。

所以 MedusaJS 通路設定其實不單單只是一個歸類而已,是真的有實質上的幫助,就是限制服務。直播帶貨前端的商品可以有特有服務,例如另類的快速結帳連結

https://ithelp.ithome.com.tw/upload/images/20251010/20178157sYuNqMlwUE.png

Shipping Profile 運輸設定

Shipping Profile(配送設定檔)最主要意義就是可以限定與歸類每個 Product(產品)的運送限制。

可以用來 限制產品的出運貨設定。
例如:水餃是冷凍運送、易碎物品限定慢速運送等等。

但是也有如下的例外:

  • 如果你的商品是服務、虛擬商品、圖片等等。

  • 如果你的產品有產品變體,並且此產品變體想要運用不同的Shipping Profile(配送設定檔),那可以在產品變體下使用requires_shipping 覆蓋運送。

運送需求 vs 運送選項 (Shipping Options)

這裡文件補充一點容易被誤會的地方:

  • 在結帳 (checkout) 時,Medusa 會基於 購物車的運送地址 (shipping address) 去找適合的 配送選項 (shipping options)

  • 即使購物車裡所有商品都不需要運送(例如全是數位商品),系統 仍然會 回傳配送選項給前端,因為後端只是根據地址提供選項,並不會自動剔除「不需要運送」的情況

  • 如果你真的希望「若購物車完全不需要運送,就不顯示任何配送選項」:

    • 可以自己在前端做檢查:若所有商品都不需要運送,就不顯示選配送方式
    • 或者你也可以自己加一條後端 API,先檢查 cart 裡是否有需要運送的 item,再決定要不要回配送選項。

總結

設定檔是一個在MeudsaJS後端儀表板非常簡單就可以設定的東西,但是我在前面探查基本功能時,能用系統設定我就是會使用系統設定,不會想說要創建一個新的還是啥的,因為一項流程還沒有搞到很清楚,若是多加一些設定進去,可能會造成各位你我學習中的混亂。所以在 Day13 開始我有做一個整理,讓大家完美的去從上而下完美理解流程,在去了解流程中一些些細流。

設定檔可以是一個簡單的歸類、也可以是一種限制。
甚至加上一點擴充,一定也能加上一些色彩,就比如剛剛所提到的對於運輸設定檔與購物車內的檢查,這一種自動化的檢查,也是一種非常實用的功能。


上一篇
Day25 進階導讀 - 了解怎麼製作第三方履約
下一篇
Day27 其他 - 會員分級 與 活動建立
系列文
Medusa.js 石化我的心29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言